home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 4 / Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso / Pearls / dev / Monitor / Snoopy / Support / devlist.c < prev    next >
C/C++ Source or Header  |  1993-12-18  |  1KB  |  50 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <proto/exec.h>
  5. #include <dos/dos.h>
  6. #include <dos/dosextens.h>
  7. #include <exec/execbase.h>
  8. #include <exec/devices.h>
  9.  
  10. char *ver="\0$VER: devlist Snoopy Support Tool 1.1 (01.01.94)";
  11. extern struct ExecBase *SysBase;
  12.  
  13. struct di
  14.     {
  15.         struct di *next;
  16.         char *message;
  17.     };
  18.  
  19. struct di *anchor = NULL;
  20.  
  21. void AddDevInfo( struct Device *d )
  22. {
  23.     struct di *n;
  24.  
  25.     if( ( n = (struct di *)calloc( 1, sizeof( struct di ) ) ) != NULL )
  26.     {
  27.         n->next = anchor;
  28.         anchor = n;
  29.         n->message = strdup( d->dd_Library.lib_Node.ln_Name );
  30.     }
  31.  
  32. void main( void )
  33. {
  34.     struct Node *np;
  35.     struct di *ptr;
  36.  
  37.     Forbid();
  38.     for( np = SysBase->DeviceList.lh_Head;
  39.          np != (struct Node *)&(SysBase->DeviceList.lh_Tail);
  40.          np = np->ln_Succ )
  41.     {
  42.         AddDevInfo( (struct Device *)np );
  43.     }
  44.     Permit();
  45.     
  46.     for( ptr=anchor; ptr != NULL; ptr = ptr->next )
  47.         printf( "DEVICE \"%s\"\n", ptr->message );
  48. }
  49.